Ας υποθέσουμε ότι έχω έναν τεράστιο τηλεφωνικό κατάλογο και θέλω να υλοποιήσω autocomplete σε combobox και για το όνομα και για το επίθετο (σαν ένα πεδίο). Φυσικά, σε κάθε επίθετο αντιστοιχούν περισσότερα του ενός ονόματα. Τι συμφέρει από απόψη απόδοσης για να ελαχιστοποιήσω το delay κατά το retrieval δεδομένων από τη βάση; Να έχω όνομα και επίθετο στον ίδιο πίνακα σε ένα πεδίο, σε δύο ξεχωριστά πεδία, ή έναν πίνακα για τα επίθετα και έναν άλλο πίνακα για τα υπόλοιπα στοιχεία (relationship); Και πως φαντάζεστε μια υλοποίηση autocomplete στην τρίτη περίπτωση;
Δε θέλω κώδικα. Μόνο ιδέες υλοποίησης και τα δύο (ή περισσότερα) cents της εμπειρίας σας...
Χωρίς να έχω γράψει ούτε μια σειρά κώδικα, θεωρώ ότι η καλύτερη λύση είναι να έχω έναν πίνακα με δύο πεδία (επίθετο και όνομα), ένα in memory computed field για το ονοματεπώνυμο και να γεμίζω τη λίστα με δεδομένα από τη βάση αφού ο χρήστης πληκτρολογήσει το πρώτο γράμμα για το επίθετο. Εσείς, τι λέτε;
ΥΓ: Μπορεί να δημοσιεύω την ερώτηση στο WinForms section, αλλά φαντάζομαι ότι μια γρήγορη υλοποίηση θα έχει πιο μεγάλη χρησιμότητα σε web εφαρμογές.
Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!